Automated Unit Testing of JavaScript Code through Symbolic Executor SymJS
نویسندگان
چکیده
JavaScript is expected to be a programming language of even wider use, considering demands for more interactive web/mobile applications and deployment in server-side software. While reliability of JavaScript code will be of more importance, testing techniques for the language remain insufficient, compared to other languages. We propose a technique to automatically generate high-coverage unit tests for JavaScript code. The technique makes use of symbolic execution engine for JavaScript, and symbolic stub/driver generation engine, which injects symbolic variables to system under test. Our methodology allows for automatic generation of input data for unit testing of JavaScript code with high coverage, which ensures quality of target code with reduced effort. Keywords–JavaScript; test generation; symbolic execution; symbolic stub and driver generation.
منابع مشابه
Automatic Unit Test Generation and Execution for JavaScript Program through Symbolic Execution
JavaScript is expected to be a programming language of even wider use, considering demands for more interactive web/mobile applications. While reliability of JavaScript code will be of more importance, testing techniques for the language remain insufficient compared to other languages. We propose a technique to automatically generate high-coverage unit tests for JavaScript code. The technique m...
متن کاملGenerating Fixtures for JavaScript Unit Testing
In today’s web applications, JavaScript code interacts with the Document Object Model (DOM) at runtime. This runtime interaction between JavaScript and the DOM is errorprone and challenging to test. In order to unit test a JavaScript function that has read/write DOM operations, a DOM instance has to be provided as a test fixture. This DOM fixture needs to be in the exact structure expected by t...
متن کاملMathematical Execution: A Unified Approach for Testing Numerical Code
This paper presents Mathematical Execution (ME), a new, unifiedapproach for testing numerical code. The key idea is to (1) capturethe desired testing objective via a representing function and (2) trans-form the automated testing problem to the minimization problem ofthe representing function. The minimization problem is to be solvedvia mathematical optimization. The main...
متن کاملSmartUnit: Empirical Evaluations for Automated Unit Testing of Embedded Software in Industry
In this paper, we aim at the automated unit coverage-based testing for embedded software. To achieve the goal, by analyzing the industrial requirements and our previous work on automated unit testing tool CAUT, we rebuild a new tool, SmartUnit, to solve the engineering requirements that take place in our partner companies. SmartUnit is a dynamic symbolic execution implementation, which supports...
متن کاملProScript-TLS: Verifiable Models and Systematic Testing for TLS 1.3
As TLS progresses into major new revisions in TLS 1.3, implementers are once again tasked with upgrading existing TLS code. This includes dealing with concerns such as testing new cryptographic mechanisms while preserving backwards compatibility and preventing downgrade attacks. It would be attractive for implementers to be able to quickly extract a composite symbolic model from their evolving ...
متن کامل